package sz.szsmk.citizencard.mvp.contract;

import com.umeng.socialize.media.Base;

import sz.szsmk.citizencard.model.network.bean.response.BaseBean;
import sz.szsmk.citizencard.model.network.bean.response.CheckIsChargeRes;
import sz.szsmk.citizencard.model.network.bean.response.FirstSearchUserLevelRes;
import sz.szsmk.citizencard.model.network.bean.response.IbaseBean;
import sz.szsmk.citizencard.model.network.dzbean.req.PreAuthThirdRes;
import sz.szsmk.citizencard.model.network.dzbean.res.CheckIsRealName2Res;
import sz.szsmk.citizencard.model.network.dzbean.res.CheckIsRealNameRes;
import sz.szsmk.citizencard.model.network.dzbean.res.GetOpenIdRes;
import sz.szsmk.citizencard.model.network.dzbean.res.QueryDzsmkAgreeMentRes;
import sz.szsmk.citizencard.ui.adapter.bean.AppHomeCardBean;
import sz.szsmk.citizencard.ui.base.IBaseContact;

/**
 * Copyright (c)2018
 * author: zdh
 * created on: 2018/12/18 15:28
 * description:
 */
public interface IRealNameContact {

    interface IRealNamePresenter<T extends IBaseContact.IBaseView> extends IBaseContact.IBasePresenter {
        void firstSearchUserLevel();

        void realNameCertification(String name, String idCard);

        void getOpenId();

        void queryDzsmkAgreement(String openId);

        void preAuth(String channelId, String openId);

        void checkIsOpenElecCard(String openId);

        void checkIsCharge();

    }

    interface IRealNameView extends IBaseContact.IBaseView {
        void firstSearchUserLevelSucc(AppHomeCardBean response);

        void firstSearchUserLevelFail(FirstSearchUserLevelRes response);

        void realNameCertificationSucc();

        void realNameCertificationFail(IbaseBean response);

        void getOpenIdFail(GetOpenIdRes response);

        void getOpenIdSucc(GetOpenIdRes response);

        void queryDzsmkAgreementFail(QueryDzsmkAgreeMentRes response);

        void queryDzsmkAgreementSucc(QueryDzsmkAgreeMentRes response, String openId);

        void preAuthSucc(PreAuthThirdRes preAuthRes);

        void preAuthFail();

        void checkIsOpenElecCardFail(CheckIsRealNameRes preAuthRes);

        void checkIsOpenElecCardSucc(CheckIsRealNameRes preAuthRes);

        void checkIsOpenElecCardSucc2(CheckIsRealName2Res preAuthRes);


        void checkIsChargeFail();

        void checkIsChargeSucc(CheckIsChargeRes ibaseBean);

        void getAliStringSuccess(String st);

        void getAlipayUserInfo(BaseBean bean);
        void getAlipayUserInfoFail(BaseBean bean);

    }
}
